import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 巡班违纪记录信息 */
export interface Patrol {
          id: number; // 主键ID
          classDate?: string | Dayjs; // 上课日期
          classTime?: string; // 上课时间段（如 08:00-09:40）
          courseName?: string; // 课程名称
          teacherId?: number; // 授课老师ID（关联教师表）
          teacherName?: string; // 授课老师姓名
          patrolTeacherId?: number; // 巡班老师ID（关联巡班人员表）
          patrolTeacherName?: string; // 巡班老师姓名
          classroom?: string; // 教室名称
          violationType?: string; // 违纪类型（如迟到、玩手机）
          violationDesc: string; // 违纪详细描述
          violationCount?: number; // 违纪人数
          status?: number; // 处理状态（0-未处理，1-已处理）
  }

// 巡班违纪记录 API
export const PatrolApi = {
  // 查询巡班违纪记录分页
  getPatrolPage: async (params: any) => {
    return await request.get({ url: `/ao/patrol/page`, params })
  },

  // 查询巡班违纪记录详情
  getPatrol: async (id: number) => {
    return await request.get({ url: `/ao/patrol/get?id=` + id })
  },

  // 新增巡班违纪记录
  createPatrol: async (data: Patrol) => {
    return await request.post({ url: `/ao/patrol/create`, data })
  },

  // 修改巡班违纪记录
  updatePatrol: async (data: Patrol) => {
    return await request.put({ url: `/ao/patrol/update`, data })
  },

  // 删除巡班违纪记录
  deletePatrol: async (id: number) => {
    return await request.delete({ url: `/ao/patrol/delete?id=` + id })
  },

  /** 批量删除巡班违纪记录 */
  deletePatrolList: async (ids: number[]) => {
    return await request.delete({ url: `/ao/patrol/delete-list?ids=${ids.join(',')}` })
  },

  // 导出巡班违纪记录 Excel
  exportPatrol: async (params) => {
    return await request.download({ url: `/ao/patrol/export-excel`, params })
  },
}